iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 19
0

今天摸struct資料封裝的部份,感覺還需要弄一陣子,蠻多要思考的東西

覺得可能不用定義封包長度,只要根據[指令類型]就可以查表得知[封包長度]

  • 更新資料的格式還沒想好

    • 一種是一次傳送全場的場面資訊
    • 另一種是把項目名稱當KEY去更新對應資料,但也有因為資料類型要做資料編碼的部份(是否蓋牌、是否光芒)
  • 廣播訊息
    覺得會是另一個大工程,暫時還沒弄到那邊先放著。但肯定用不管有沒有用字串樣板都會是不固定長度的資料

  • 心跳信號
    因為這遊戲大部分時間都在等待其中一位玩家,為了確保玩家連線狀態穩定,應該會加入這個機制。判定斷線、重新連接遊戲…這些動作會增加額外的程式碼,暫時先不考慮。

TCP拆包,理論上按照順序讀取就不會有問題。只是不確定有沒有自己沒想到的問題

系統:
send回合開始
send更新資料
send廣播訊息
send玩家抽牌
send回合結束
send心跳訊號
recv玩家行動
recv玩家棄牌

用戶端:
recv回合開始
recv更新資料
recv廣播訊息
recv玩家抽牌
recv回合結束
recv心跳信號
send玩家行動
send玩家棄牌

更新資料和廣播訊息,比較多細節。
先從玩家行動相關的事件實作
以上


上一篇
Day18 從零開始弄socket傳輸-2
下一篇
Day20 來一點 asyncio socket
系列文
卡牌遊戲開發日記v202030
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言